class CardDo(object):
    def __init__(self):
        self.__card_id = None
        '''卡号，IC卡上报的卡号'''
        self.__card_serial = None
        '''关联的设备ID'''
        self.__device_id = None
        '''设备所在大棚号'''
        self.__greenhouse_no = None
        '''所属用户ID'''
        self.__user_id = None
        '''卡内剩余水量'''
        self.__water_left = None
        '''所属组织ID'''
        self.__organization_id = None
        '''是否是管理卡，默认false，true：是，false：否'''
        self.__is_manager_card = None
        '''创建时间'''
        self.__create_time = None
        '''修改时间'''
        self.__modify_time = None
        '''IC卡关联的设备的管径大小'''
        self.__pip_dia_meter = None
        '''所属用户姓名，新增时和修改时不传'''
        self.__user_real_name = None
        '''IC卡所属用户的电话号码，后台跑时使用'''
        self.__user_phone = None
        '''所属组织名称，新增时和修改时不传'''
        self.__organization_name = None
        '''最大欠费水量'''
        self.__max_own_water = None
        self.__device_serial = None
    def get_card_id(self):
        return self.__card_id
    def set_card_id(self, card_id):
        self.__card_id = card_id

    def __hash__(self):
        return self.__card_id.__hash__()

    @staticmethod
    def static1():
        print("static method1")
    '''闭包函数，装饰器'''
    @staticmethod
    def test_closure(fn):
        n = 10
        def inner():
            print("inner method")
            print(n * 2)
            fn()
        return inner

    @staticmethod
    @test_closure
    def target_method():
        print("target method")
    '''析构方法'''
    def __del__(self):
        pass

if __name__ == '__main__':
    CardDo.target_method()
    cardDo = CardDo()
    print(CardDo.__mro__)
